POV-Ray : Newsgroups : povray.general : How do I create terrain without heightfields? : Re: How do I create terrain without heightfields? Server Time
10 Aug 2024 05:19:16 EDT (-0400)
  Re: How do I create terrain without heightfields?  
From: Mick Hazelgrove
Date: 6 Mar 2000 15:05:17
Message: <38c40f7d@news.povray.org>
Thankyou Chris, I hadn't thought of that - more time wasted experimenting!

Mick

--
*************************************************************
       http://www.minda.swinternet.co.uk/index.htm

*************************************************************
"Chris Huff" <chr### [at] yahoocom> wrote in message
news:chrishuff_99-6CC216.11093006032000@news.povray.org...
> In article <38c38e9c@news.povray.org>, "Lars Luthman" <no### [at] spamse>
> wrote:
>
> > Is there a tutorial somewhere on how to create realistic looking
> > mountains in POV without using image files as heightfields (for
> > example using the isosurfaces in MegaPOV)? Or could someone reply to
> > this message and explain the basics?
>
> Well, you can use a height field without an image, using a pattern
> instead. To do that you use the "pattern" keyword. Here is the syntax
> and a sample copied from the MegaPOV documentation:
>
> pattern Width, Height { [ hf_gray_16] PIGMENT }
>
> #declare QuickLandscape =
> height_field {
>     pattern 200, 200 {hf_gray_16 bozo
>         color_map { [0 rgb 0] [1 rgb 1] }
>     }
> }
>
>
> There are many ways to do it with an isosurface, it depends on what kind
> of terrain you are looking for. You could use the ridged multifractal
> functions(which I have never used and don't know anything about), a
> plane displaced with one or several noise3d() functions, or a plane
> displaced with one or several pigments. Of the last two, mixing pigments
> is more flexible but possibly slower.
> An example:
>
> #declare WrinklesFunc =
> function {
>     pigment {wrinkles
>         color_map {[0 color Black][1 color White]}
>     }
> }
>
> isosurface {
>     function {y - // the xy plane...
>         WrinklesFunc(x, 0, z)*5 -
>         WrinklesFunc(x*3, 0, z*3)*2
>         // notice the y value is set to 0
>         // If y is used in this part, overhangs
>         // are possible.
>     }
>     threshold 0
> }
>
> --
> Chris Huff
> e-mail: chr### [at] yahoocom
> Web page: http://chrishuff.dhs.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.